package TestDriver; import static org.junit.Assert.*; import java.util.Iterator; import java.util.Map.Entry; import org.junit.Test; import java.util.Set; import Entities.Account; import Entities.Bank; import Entities.Person; import Entities.SavingAccount; import Entities.SpendingAccount; public class TestUnit { private Bank b = new Bank(); @Test public void testAddAccForPerson() { boolean ok = false; Person p = new Person("Dari", "dari.lu@yahoo.com", "4456"); Account a = new SavingAccount(1, 200); b.addAccForPerson(p, a); Iterator<Entry<Person, Set<Account>>> it = b.getList().entrySet().iterator(); while (it.hasNext()) { Entry<Person, Set<Account>> entry = it.next(); if ((entry.getKey()).equals(p)) { ok = true; break; } } assertTrue(ok); } @Test public void testDepositMoney() { boolean ok = false; Person p = new Person("Dari", "dari.lu@yahoo.com", "4456"); int accountId = 1; double sum = 200; double initialSum = 0; double actual = 0; double expected = 0; if (b.getList().containsKey(p)) { Set<Account> account = b.getList().get(p); for (Account acc : account) { if (acc.getAccId() == accountId) { initialSum = acc.getMoney(); expected = initialSum + sum; b.depositMoney(sum, accountId, p); actual = acc.getMoney(); } } } if (assertEquals(expected, actual)) { ok = true; } assertTrue(ok); } @Test public void testWithDrawMoney() { boolean ok = false; Person p = new Person("Dari", "dari.lu@yahoo.com", "4456"); int accountId = 1; double sum = 50.3; double initialSum = 0; double actual = 0; double expected = 0; if (b.getList().containsKey(p)) { Set<Account> account = b.getList().get(p); for (Account acc : account) { if (acc.getAccId() == accountId) { initialSum = acc.getMoney(); expected = initialSum - sum; b.withdrawMoney(sum, accountId, p); actual = acc.getMoney(); } } } if (assertEquals(expected, actual)) { ok = true; } assertTrue(ok); } @Test public void testDeletePerson() { Person p = new Person("Dari", "dari.lu@yahoo.com", "4456"); int prevSize = b.getList().size(); int actual = 0; int expected = prevSize - 1; if (b.getList().containsKey(p)) { b.deletePerson(p); actual = b.getList().size(); } assertEquals(expected, actual); } @Test public void testDeleteAccount() { Person p = new Person("Nicu", "nicu.r@yahoo.com", "4245"); Account a = new SpendingAccount(2, 200); b.addAccForPerson(p, a); int accountId = 2; int initialSize = 0; int actual = 0; int expected = 0; if (b.getList().containsKey(p)) { Set<Account> account = b.getList().get(p); initialSize = account.size(); expected = initialSize - 1; b.deleteAccount(accountId, p); actual = account.size(); } assertEquals(expected, actual); } private boolean assertEquals(double expected, double actual) { return (expected == actual); } }